package com.yootk.provider.action.block;

import com.alibaba.csp.sentinel.slots.block.BlockException;
import com.yootk.common.dto.DeptDTO;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class DeptBlockHandler { // 限流信息
    public static Object addBlockHandler(DeptDTO deptDTO, BlockException e) {
        Map<String, Object> map = new HashMap<>();
        map.put("rule", e.getRule()); // 获取失败的信息
        map.put("message", e.getMessage()); // 异常信息
        map.put("result", false); // 本次的执行结果
        return map;
    }

    public static Object getBlockHandler(long id, BlockException e) {
        Map<String, Object> map = new HashMap<>();
        map.put("rule", e.getRule()); // 获取失败的信息
        map.put("message", e.getMessage()); // 异常信息
        DeptDTO dept = new DeptDTO();
        dept.setDeptno(id);
        dept.setDname("【Block】部门名称");
        dept.setLoc("【Block】部门位置");
        map.put("result", dept); // 本次的执行结果
        return map;
    }

    public static Object listBlockHandler(BlockException e) {
        Map<String, Object> map = new HashMap<>();
        map.put("rule", e.getRule()); // 获取失败的信息
        map.put("message", e.getMessage()); // 异常信息
        map.put("result", new ArrayList<>()); // 本次的执行结果
        return map;
    }

    public static Object splitBlockHandler(int cp, int ls, String col, String kw, BlockException e) {
        Map<String, Object> map = new HashMap<>();
        map.put("rule", e.getRule()); // 获取失败的信息
        map.put("message", e.getMessage()); // 异常信息
        map.put("result", new HashMap<>()); // 本次的执行结果
        return map;
    }
}
